API Reference: Libraries

 Top

kontron_ktgm45

NAME

kontron_ktgm45 - Kontron KTGM45 platform specific documentation

INTRODUCTION

This board support package (BSP) is designed to run on boards which are part of the Kontron KTGM45 platform.

The BSP was tested on KTGm/mITX board, BIOS version 8.16 (4504), build date: 02.05.2010.

This documentation provides platform specific information how to install boot images as well as descriptions on the functionality and features of this BSP. This BSP is based on the generic pcPentium4 BSP from Wind River, thus major parts of the documentation provided by Wind River are applicable to this BSP as well.

Symmetric Multiprocessing (SMP)

This BSP supports Wind River VxWorks SMP. SMP is a variant of multiprocessing technology in which one instance of an operating system controls all processors/CPUs and in which main memory is shared.

VxWorks SMP is an optional product for Wind River Platforms and VxWorks and additional information about multiprocessing technologies and VxWorks SMP can be found in the corresponding Wind River VxWorks documentation.

VxWorks SMP is added e.g. for a Workbench VxWorks image project by setting the option SMP support in kernel in the projects options setup or with the appropriate command option for vxprj - build.

BOOT PROCESS

The target board is capable of booting from the onboard Ethernet adapters (PXE), the (optional) USB NAND Flash module, external SATA Hard Disk drives or external USB mass storage devices, external PATA Hard Disk drive or Compact Flash Card Type I/II.

Booting a Romable Image from a Disk Device

In the standard configuration the BIOS loads and executes the bootstrap loader located in the boot sector of a diskette, a hard disk, or a compact flash device. The VxWorks bootstrap loader looks for the bootrom.sys file, loads it into memory, and transfers execution to it.

Booting a VxWorks Image using the boot loader

Booting is normally a two step process during development. In the first step, the VxWorks boot loader is started. In the second step, the VxWorks image is loaded and started by the boot loader. In the table below you can find the boot devices which are supported. Note that not all boot devices are included in the default configuration.

Boot device Description

gei0 First Gigabit Ethernet Interface
gei1 Second Gigabit Ethernet Interface
gei2 Third Gigabit Ethernet Interface
ata[=x,x] PATA Disk Device or CF card
ata[=x,x] SATA Disk Device
usb USB Bulk (Mass Storage) Device

SUPPORTED IMAGES

The BSP support the following images.

Image Name Description Built in Device Compressed Loads Into

bootrom.bin bootrom IDE/BSP Disk Yes High Memory
bootrom.pxe bootrom IDE/BSP Net Yes High Memory
vxWorks_romCompress.bin bootable VxWorks IDE Disk Yes High Memory
vxWorks loadable VxWorks IDE Net/Disk No Low Memory

(The binary images *.bin are used for creation of the appropriate bootrom.sys file)

To build a boot loader or a VxWorks image you should use the Wind River Workbench. If the default configuration is not appropriate for your application you can change it by editing the file config.h in the BSP directory (for the boot loader) or with help of the Wind River Workbench (for VxWorks image).

For instructions on how to configure and compile a bootable image from the Wind River Workbench see Wind River Workbench User's Guide: Projects. ( Please keep in mind that Low Memory boot images are limited to approximately 640KB in size due to the constraints of the processor running in real mode.)

The configuration of the boot loader can be changed by modifying the file config.h in the BSP directory. There are several options to boot vxWorks image listed in config.h:

Boot device component Description

INCLUDE_DRV_STORAGE_PCI_ATA enable JMicron PATA disk driver to boot from CF card
INCLUDE_DRV_STORAGE_INTEL_AHCI enable to boot from AHCI SATA disk device, NOTE: SATA controller in BIOS should be configured in AHCI mode
INCLUDE_GEI825XX_VXB_END onboard intel ethernet controller
INCLUDE_USB enable to boot from USB mass storage device
INCLUDE_PC_CONSOLE enable to use PC keyboard and VGA display as console

there are some examples of boot line in config.h for each boot device.

PREPARING A BOOT DEVICE


./BootDevice.html - Preparing a boot device for I86 platforms

HARDWARE DETAILS

For a detailed description of the hardware features and configuration options available please refer to the target board Hardware User's Guide. Note that if Compact Flash card is attached to onboard slot it is not possible to use other PATA devices connected by 80-wired PATA cable, it is recommended to use SATA Hard Disks in this case.

FEATURES

BSP Library

There are different functional components additionally provided to configure this BSP. The components can be included into the VxWorks image either with help of the Wind River Workbench project facility (recommended) or by changing macro definitions in the file config.h.

The components described below utilize the drivers which are delivered as a part of the BSP library, but also the standard drivers which are provided in the VxWorks installation.

For more information on supported functions of the different components please follow the link to the online documentation.

INCLUDE_PC_CONSOLE

In addition to the keyboard types supported by the original Wind River BSP, USB keyboards can be used. To initialize the USB stack and attach a USB keyboard to the PC console, the macro PC_KBD_TYPE must be set to USB_KBD. This macro definition can be found in the file config.h.

The default setting of the serial interface (independent of including PC console) is 115200 baud, 8 data bits, 1 stop bit, no parity and no flow control.

INCLUDE_CFG_GEI8254X_END_1
INCLUDE_CFG_GEI8254X_END_2
INCLUDE_CFG_GEI8254X_END_3

These components are providing support for configuration of the onboard Gigabit Ethernet Interface at the front panel connector and/or REAR-IO. It sets the network mask and internet address of the interface to the values defined for CFG_GEI_X_MASK and CFG_GEI_X_ADDR. You can modify both parameters within the Workbench project facility. It is allowed to set CFG_GEI_X_ADDR to "dhcp", in this case the NIC will use DHCP client to retrieve IP information (Note: INCLUDE_IPDHCPC component has to be enabled to use this facility).

This component requires INCLUDE_GEI825XX_VXB_END GEI driver.

INCLUDE_HAL_DRV

This component serves as an abstraction layer to obtain hardware specific information about the board in use.

./halK.html - Hardware Abstraction Layer
INCLUDE_DRV_STORAGE_PCI_ATA

This component includes PCI ATA host controller for ATA/ATAPI devices including onboad CF card. Only JMicron JMB368 onboard controller is supported. This driver excudes standard INCLUDE_ATA driver that is not applicable to the hardware.

./vxbPciAtaStorageK.html - PCI ATA support
INCLUDE_DRV_STORAGE_INTEL_AHCI

This component includes Intel ICHx SATA host controller driver. It is adapted to support onboard Intel ICH9 controller.

Note: SATA controller in BIOS should be configured in AHCI mode

This driver also has extended ability to assing DOS-like name to partition. This functionality is switched off by default and controlled by BSP parameter INCLUDE_AHCI_DOS_PARTITION_NAMING (set it to TRUE to enable). When enabled partitions of disk drives attached to SATA port 0,1,...,5 will be named "C:, D:, E:, F:" (up to 4 partitions) for port0, then "G:, H:, I:, J:" for port1, etc. Please note that ICH9M SATA controller has only ports 0,1,4,5 (2 and 3 are malfunctional), this pecularity is also settled up in the updated driver.


INCLUDE_INTEL_TCO_WD_DRV

This component includes Intel TCO Watchdog driver.

./vxbIntelTCOWatchdogTimerK.html - Intel TCO Watchdog support
INCLUDE_W83627

This component includes W83627 sensor driver.

./vxbW83627dhgK.html - W83627 sensor driver support
INCLUDE_RTC

This component includes MC146818 RTC clock driver.

./vxbMC146818RtcK.html - MC146818 RTC clock driver support

Device Drivers

Device support in this BSP is provided by a combination of VxBus drivers and legacy (non-VxBus) drivers. As of this release, VxBus is the default configuration, and support for legacy drivers has been removed, where duplicate drivers exist.

VxBus drivers follow a bus model introduced with VxWorks 6.2. In this model, VxBus provides most of the functionality, which was previously required to be put into the sysDev.c file in the BSP (e.g. sysFei82557End.c). For PCI devices, no BSP support is required, other than to insure that sufficient DUMMY_MMU_ENTRY lines are present at the end of sysPhysMemDesc[]. For devices located on the processor bus, the BSP support is usually limited to entries in the tables in hwconf.c.

PCI Access

PCI access is provided by VxBus. The PCI bus controller driver used by this BSP is the pentiumPci driver. This is configured by default for command line builds, and can be managed by use of Wind River Workbench and/or vxprj. The BSP does not support configurations without PCI support.

SPECIAL CONSIDERATIONS


./SpecialConsiderations.html - Special Considerations for I86 platforms

KNOWN PROBLEMS


./KnownProblems.html - Known Problems

SEE ALSO

Workbench User's Guide: Getting Started, VxWorks Programmer's Guide: Configuration, VxWorks Programmer's Guide: Architecture Supplement, VxWorks Kernel Programmer's Guide